home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / gcc / geninline_920614.lha / inline-2.0 / exec.h < prev    next >
C/C++ Source or Header  |  1992-06-14  |  45KB  |  1,533 lines

  1. #ifndef _INLINE_EXEC_H
  2. #define _INLINE_EXEC_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL extern struct ExecBase * SysBase;
  11. #endif
  12. #ifndef BASE_PAR_DECL
  13. #define BASE_PAR_DECL
  14. #define BASE_PAR_DECL0 void
  15. #endif
  16. #ifndef BASE_NAME
  17. #define BASE_NAME SysBase
  18. #endif
  19.  
  20. static __inline void 
  21. AbortIO (BASE_PAR_DECL struct IORequest *ioRequest)
  22. {
  23.   BASE_EXT_DECL
  24.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  25.   register struct IORequest *a1 __asm("a1") = ioRequest;
  26.   __asm __volatile ("jsr a6@(-0x1e0)"
  27.   : /* no output */
  28.   : "r" (a6), "r" (a1)
  29.   : "a0","a1","d0","d1");
  30.   *(char *)a1 = *(char *)a1;
  31. }
  32. static __inline void 
  33. AddDevice (BASE_PAR_DECL struct Device *device)
  34. {
  35.   BASE_EXT_DECL
  36.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  37.   register struct Device *a1 __asm("a1") = device;
  38.   __asm __volatile ("jsr a6@(-0x1b0)"
  39.   : /* no output */
  40.   : "r" (a6), "r" (a1)
  41.   : "a0","a1","d0","d1");
  42.   *(char *)a1 = *(char *)a1;
  43. }
  44. static __inline void 
  45. AddHead (BASE_PAR_DECL struct List *list,struct Node *node)
  46. {
  47.   BASE_EXT_DECL
  48.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  49.   register struct List *a0 __asm("a0") = list;
  50.   register struct Node *a1 __asm("a1") = node;
  51.   __asm __volatile ("jsr a6@(-0xf0)"
  52.   : /* no output */
  53.   : "r" (a6), "r" (a0), "r" (a1)
  54.   : "a0","a1","d0","d1");
  55.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  56. }
  57. static __inline void 
  58. AddIntServer (BASE_PAR_DECL long intNumber,struct Interrupt *interrupt)
  59. {
  60.   BASE_EXT_DECL
  61.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  62.   register long d0 __asm("d0") = intNumber;
  63.   register struct Interrupt *a1 __asm("a1") = interrupt;
  64.   __asm __volatile ("jsr a6@(-0xa8)"
  65.   : /* no output */
  66.   : "r" (a6), "r" (d0), "r" (a1)
  67.   : "a0","a1","d0","d1");
  68.   *(char *)a1 = *(char *)a1;
  69. }
  70. static __inline void 
  71. AddLibrary (BASE_PAR_DECL struct Library *library)
  72. {
  73.   BASE_EXT_DECL
  74.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  75.   register struct Library *a1 __asm("a1") = library;
  76.   __asm __volatile ("jsr a6@(-0x18c)"
  77.   : /* no output */
  78.   : "r" (a6), "r" (a1)
  79.   : "a0","a1","d0","d1");
  80.   *(char *)a1 = *(char *)a1;
  81. }
  82. static __inline ULONG 
  83. AddMemList (BASE_PAR_DECL unsigned long size,unsigned long attributes,unsigned long pri,APTR base,UBYTE *name)
  84. {
  85.   BASE_EXT_DECL
  86.   register ULONG  _res  __asm("d0");
  87.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  88.   register unsigned long d0 __asm("d0") = size;
  89.   register unsigned long d1 __asm("d1") = attributes;
  90.   register unsigned long d2 __asm("d2") = pri;
  91.   register APTR a0 __asm("a0") = base;
  92.   register UBYTE *a1 __asm("a1") = name;
  93.   __asm __volatile ("jsr a6@(-0x26a)"
  94.   : "=r" (_res)
  95.   : "r" (a6), "r" (d0), "r" (d1), "r" (d2), "r" (a0), "r" (a1)
  96.   : "a0","a1","d0","d1","d2");
  97.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  98.   return _res;
  99. }
  100. static __inline void 
  101. AddPort (BASE_PAR_DECL struct MsgPort *port)
  102. {
  103.   BASE_EXT_DECL
  104.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  105.   register struct MsgPort *a1 __asm("a1") = port;
  106.   __asm __volatile ("jsr a6@(-0x162)"
  107.   : /* no output */
  108.   : "r" (a6), "r" (a1)
  109.   : "a0","a1","d0","d1");
  110.   *(char *)a1 = *(char *)a1;
  111. }
  112. static __inline void 
  113. AddResource (BASE_PAR_DECL APTR resource)
  114. {
  115.   BASE_EXT_DECL
  116.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  117.   register APTR a1 __asm("a1") = resource;
  118.   __asm __volatile ("jsr a6@(-0x1e6)"
  119.   : /* no output */
  120.   : "r" (a6), "r" (a1)
  121.   : "a0","a1","d0","d1");
  122.   *(char *)a1 = *(char *)a1;
  123. }
  124. static __inline void 
  125. AddSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  126. {
  127.   BASE_EXT_DECL
  128.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  129.   register struct SignalSemaphore *a1 __asm("a1") = sigSem;
  130.   __asm __volatile ("jsr a6@(-0x258)"
  131.   : /* no output */
  132.   : "r" (a6), "r" (a1)
  133.   : "a0","a1","d0","d1");
  134.   *(char *)a1 = *(char *)a1;
  135. }
  136. static __inline void 
  137. AddTail (BASE_PAR_DECL struct List *list,struct Node *node)
  138. {
  139.   BASE_EXT_DECL
  140.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  141.   register struct List *a0 __asm("a0") = list;
  142.   register struct Node *a1 __asm("a1") = node;
  143.   __asm __volatile ("jsr a6@(-0xf6)"
  144.   : /* no output */
  145.   : "r" (a6), "r" (a0), "r" (a1)
  146.   : "a0","a1","d0","d1");
  147.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  148. }
  149. static __inline APTR 
  150. AddTask (BASE_PAR_DECL struct Task *task,APTR initPC,APTR finalPC)
  151. {
  152.   BASE_EXT_DECL
  153.   register APTR  _res  __asm("d0");
  154.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  155.   register struct Task *a1 __asm("a1") = task;
  156.   register APTR a2 __asm("a2") = initPC;
  157.   register APTR a3 __asm("a3") = finalPC;
  158.   __asm __volatile ("jsr a6@(-0x11a)"
  159.   : "=r" (_res)
  160.   : "r" (a6), "r" (a1), "r" (a2), "r" (a3)
  161.   : "a0","a1","a2","a3","d0","d1");
  162.   *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;  *(char *)a3 = *(char *)a3;
  163.   return _res;
  164. }
  165. static __inline void 
  166. Alert (BASE_PAR_DECL unsigned long alertNum)
  167. {
  168.   BASE_EXT_DECL
  169.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  170.   register unsigned long d7 __asm("d7") = alertNum;
  171.   __asm __volatile ("jsr a6@(-0x6c)"
  172.   : /* no output */
  173.   : "r" (a6), "r" (d7)
  174.   : "a0","a1","d0","d1","d7");
  175. }
  176. static __inline APTR 
  177. AllocAbs (BASE_PAR_DECL unsigned long byteSize,APTR location)
  178. {
  179.   BASE_EXT_DECL
  180.   register APTR  _res  __asm("d0");
  181.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  182.   register unsigned long d0 __asm("d0") = byteSize;
  183.   register APTR a1 __asm("a1") = location;
  184.   __asm __volatile ("jsr a6@(-0xcc)"
  185.   : "=r" (_res)
  186.   : "r" (a6), "r" (d0), "r" (a1)
  187.   : "a0","a1","d0","d1");
  188.   *(char *)a1 = *(char *)a1;
  189.   return _res;
  190. }
  191. static __inline struct MemList *
  192. AllocEntry (BASE_PAR_DECL struct MemList *entry)
  193. {
  194.   BASE_EXT_DECL
  195.   register struct MemList * _res  __asm("d0");
  196.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  197.   register struct MemList *a0 __asm("a0") = entry;
  198.   __asm __volatile ("jsr a6@(-0xde)"
  199.   : "=r" (_res)
  200.   : "r" (a6), "r" (a0)
  201.   : "a0","a1","d0","d1");
  202.   *(char *)a0 = *(char *)a0;
  203.   return _res;
  204. }
  205. static __inline APTR 
  206. AllocMem (BASE_PAR_DECL unsigned long byteSize,unsigned long requirements)
  207. {
  208.   BASE_EXT_DECL
  209.   register APTR  _res  __asm("d0");
  210.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  211.   register unsigned long d0 __asm("d0") = byteSize;
  212.   register unsigned long d1 __asm("d1") = requirements;
  213.   __asm __volatile ("jsr a6@(-0xc6)"
  214.   : "=r" (_res)
  215.   : "r" (a6), "r" (d0), "r" (d1)
  216.   : "a0","a1","d0","d1");
  217.   return _res;
  218. }
  219. static __inline APTR 
  220. AllocPooled (BASE_PAR_DECL unsigned long memSize,APTR poolHeader)
  221. {
  222.   BASE_EXT_DECL
  223.   register APTR  _res  __asm("d0");
  224.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  225.   register unsigned long d0 __asm("d0") = memSize;
  226.   register APTR a0 __asm("a0") = poolHeader;
  227.   __asm __volatile ("jsr a6@(-0x2c4)"
  228.   : "=r" (_res)
  229.   : "r" (a6), "r" (d0), "r" (a0)
  230.   : "a0","a1","d0","d1");
  231.   *(char *)a0 = *(char *)a0;
  232.   return _res;
  233. }
  234. static __inline BYTE 
  235. AllocSignal (BASE_PAR_DECL long signalNum)
  236. {
  237.   BASE_EXT_DECL
  238.   register BYTE  _res  __asm("d0");
  239.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  240.   register long d0 __asm("d0") = signalNum;
  241.   __asm __volatile ("jsr a6@(-0x14a)"
  242.   : "=r" (_res)
  243.   : "r" (a6), "r" (d0)
  244.   : "a0","a1","d0","d1");
  245.   return _res;
  246. }
  247. static __inline LONG 
  248. AllocTrap (BASE_PAR_DECL long trapNum)
  249. {
  250.   BASE_EXT_DECL
  251.   register LONG  _res  __asm("d0");
  252.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  253.   register long d0 __asm("d0") = trapNum;
  254.   __asm __volatile ("jsr a6@(-0x156)"
  255.   : "=r" (_res)
  256.   : "r" (a6), "r" (d0)
  257.   : "a0","a1","d0","d1");
  258.   return _res;
  259. }
  260. static __inline APTR 
  261. AllocVec (BASE_PAR_DECL unsigned long byteSize,unsigned long requirements)
  262. {
  263.   BASE_EXT_DECL
  264.   register APTR  _res  __asm("d0");
  265.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  266.   register unsigned long d0 __asm("d0") = byteSize;
  267.   register unsigned long d1 __asm("d1") = requirements;
  268.   __asm __volatile ("jsr a6@(-0x2ac)"
  269.   : "=r" (_res)
  270.   : "r" (a6), "r" (d0), "r" (d1)
  271.   : "a0","a1","d0","d1");
  272.   return _res;
  273. }
  274. static __inline APTR 
  275. Allocate (BASE_PAR_DECL struct MemHeader *freeList,unsigned long byteSize)
  276. {
  277.   BASE_EXT_DECL
  278.   register APTR  _res  __asm("d0");
  279.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  280.   register struct MemHeader *a0 __asm("a0") = freeList;
  281.   register unsigned long d0 __asm("d0") = byteSize;
  282.   __asm __volatile ("jsr a6@(-0xba)"
  283.   : "=r" (_res)
  284.   : "r" (a6), "r" (a0), "r" (d0)
  285.   : "a0","a1","d0","d1");
  286.   *(char *)a0 = *(char *)a0;
  287.   return _res;
  288. }
  289. static __inline ULONG 
  290. AttemptSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  291. {
  292.   BASE_EXT_DECL
  293.   register ULONG  _res  __asm("d0");
  294.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  295.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  296.   __asm __volatile ("jsr a6@(-0x240)"
  297.   : "=r" (_res)
  298.   : "r" (a6), "r" (a0)
  299.   : "a0","a1","d0","d1");
  300.   *(char *)a0 = *(char *)a0;
  301.   return _res;
  302. }
  303. static __inline ULONG 
  304. AttemptSemaphoreShared (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  305. {
  306.   BASE_EXT_DECL
  307.   register ULONG  _res  __asm("d0");
  308.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  309.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  310.   __asm __volatile ("jsr a6@(-0x2d0)"
  311.   : "=r" (_res)
  312.   : "r" (a6), "r" (a0)
  313.   : "a0","a1","d0","d1");
  314.   *(char *)a0 = *(char *)a0;
  315.   return _res;
  316. }
  317. static __inline ULONG 
  318. AvailMem (BASE_PAR_DECL unsigned long requirements)
  319. {
  320.   BASE_EXT_DECL
  321.   register ULONG  _res  __asm("d0");
  322.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  323.   register unsigned long d1 __asm("d1") = requirements;
  324.   __asm __volatile ("jsr a6@(-0xd8)"
  325.   : "=r" (_res)
  326.   : "r" (a6), "r" (d1)
  327.   : "a0","a1","d0","d1");
  328.   return _res;
  329. }
  330. static __inline void 
  331. CacheClearE (BASE_PAR_DECL APTR address,unsigned long length,unsigned long caches)
  332. {
  333.   BASE_EXT_DECL
  334.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  335.   register APTR a0 __asm("a0") = address;
  336.   register unsigned long d0 __asm("d0") = length;
  337.   register unsigned long d1 __asm("d1") = caches;
  338.   __asm __volatile ("jsr a6@(-0x282)"
  339.   : /* no output */
  340.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  341.   : "a0","a1","d0","d1");
  342.   *(char *)a0 = *(char *)a0;
  343. }
  344. static __inline void 
  345. CacheClearU (BASE_PAR_DECL0)
  346. {
  347.   BASE_EXT_DECL
  348.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  349.   __asm __volatile ("jsr a6@(-0x27c)"
  350.   : /* no output */
  351.   : "r" (a6)
  352.   : "a0","a1","d0","d1");
  353. }
  354. static __inline ULONG 
  355. CacheControl (BASE_PAR_DECL unsigned long cacheBits,unsigned long cacheMask)
  356. {
  357.   BASE_EXT_DECL
  358.   register ULONG  _res  __asm("d0");
  359.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  360.   register unsigned long d0 __asm("d0") = cacheBits;
  361.   register unsigned long d1 __asm("d1") = cacheMask;
  362.   __asm __volatile ("jsr a6@(-0x288)"
  363.   : "=r" (_res)
  364.   : "r" (a6), "r" (d0), "r" (d1)
  365.   : "a0","a1","d0","d1");
  366.   return _res;
  367. }
  368. static __inline APTR 
  369. CachePostDMA (BASE_PAR_DECL APTR address,ULONG *length,unsigned long flags)
  370. {
  371.   BASE_EXT_DECL
  372.   register APTR  _res  __asm("d0");
  373.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  374.   register APTR a0 __asm("a0") = address;
  375.   register ULONG *a1 __asm("a1") = length;
  376.   register unsigned long d1 __asm("d1") = flags;
  377.   __asm __volatile ("jsr a6@(-0x300)"
  378.   : "=r" (_res)
  379.   : "r" (a6), "r" (a0), "r" (a1), "r" (d1)
  380.   : "a0","a1","d0","d1");
  381.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  382.   return _res;
  383. }
  384. static __inline APTR 
  385. CachePreDMA (BASE_PAR_DECL APTR address,ULONG *length,unsigned long flags)
  386. {
  387.   BASE_EXT_DECL
  388.   register APTR  _res  __asm("d0");
  389.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  390.   register APTR a0 __asm("a0") = address;
  391.   register ULONG *a1 __asm("a1") = length;
  392.   register unsigned long d1 __asm("d1") = flags;
  393.   __asm __volatile ("jsr a6@(-0x2fa)"
  394.   : "=r" (_res)
  395.   : "r" (a6), "r" (a0), "r" (a1), "r" (d1)
  396.   : "a0","a1","d0","d1");
  397.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  398.   return _res;
  399. }
  400. static __inline void 
  401. Cause (BASE_PAR_DECL struct Interrupt *interrupt)
  402. {
  403.   BASE_EXT_DECL
  404.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  405.   register struct Interrupt *a1 __asm("a1") = interrupt;
  406.   __asm __volatile ("jsr a6@(-0xb4)"
  407.   : /* no output */
  408.   : "r" (a6), "r" (a1)
  409.   : "a0","a1","d0","d1");
  410.   *(char *)a1 = *(char *)a1;
  411. }
  412. static __inline BOOL 
  413. CheckIO (BASE_PAR_DECL struct IORequest *ioRequest)
  414. {
  415.   BASE_EXT_DECL
  416.   register BOOL  _res  __asm("d0");
  417.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  418.   register struct IORequest *a1 __asm("a1") = ioRequest;
  419.   __asm __volatile ("jsr a6@(-0x1d4)"
  420.   : "=r" (_res)
  421.   : "r" (a6), "r" (a1)
  422.   : "a0","a1","d0","d1");
  423.   *(char *)a1 = *(char *)a1;
  424.   return _res;
  425. }
  426. static __inline void 
  427. ChildFree (BASE_PAR_DECL APTR tid)
  428. {
  429.   BASE_EXT_DECL
  430.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  431.   register APTR d0 __asm("d0") = tid;
  432.   __asm __volatile ("jsr a6@(-0x2e2)"
  433.   : /* no output */
  434.   : "r" (a6), "r" (d0)
  435.   : "a0","a1","d0","d1");
  436. }
  437. static __inline void 
  438. ChildOrphan (BASE_PAR_DECL APTR tid)
  439. {
  440.   BASE_EXT_DECL
  441.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  442.   register APTR d0 __asm("d0") = tid;
  443.   __asm __volatile ("jsr a6@(-0x2e8)"
  444.   : /* no output */
  445.   : "r" (a6), "r" (d0)
  446.   : "a0","a1","d0","d1");
  447. }
  448. static __inline void 
  449. ChildStatus (BASE_PAR_DECL APTR tid)
  450. {
  451.   BASE_EXT_DECL
  452.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  453.   register APTR d0 __asm("d0") = tid;
  454.   __asm __volatile ("jsr a6@(-0x2ee)"
  455.   : /* no output */
  456.   : "r" (a6), "r" (d0)
  457.   : "a0","a1","d0","d1");
  458. }
  459. static __inline void 
  460. ChildWait (BASE_PAR_DECL APTR tid)
  461. {
  462.   BASE_EXT_DECL
  463.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  464.   register APTR d0 __asm("d0") = tid;
  465.   __asm __volatile ("jsr a6@(-0x2f4)"
  466.   : /* no output */
  467.   : "r" (a6), "r" (d0)
  468.   : "a0","a1","d0","d1");
  469. }
  470. static __inline void 
  471. CloseDevice (BASE_PAR_DECL struct IORequest *ioRequest)
  472. {
  473.   BASE_EXT_DECL
  474.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  475.   register struct IORequest *a1 __asm("a1") = ioRequest;
  476.   __asm __volatile ("jsr a6@(-0x1c2)"
  477.   : /* no output */
  478.   : "r" (a6), "r" (a1)
  479.   : "a0","a1","d0","d1");
  480.   *(char *)a1 = *(char *)a1;
  481. }
  482. static __inline void 
  483. CloseLibrary (BASE_PAR_DECL struct Library *library)
  484. {
  485.   BASE_EXT_DECL
  486.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  487.   register struct Library *a1 __asm("a1") = library;
  488.   __asm __volatile ("jsr a6@(-0x19e)"
  489.   : /* no output */
  490.   : "r" (a6), "r" (a1)
  491.   : "a0","a1","d0","d1");
  492.   *(char *)a1 = *(char *)a1;
  493. }
  494. static __inline void 
  495. ColdReboot (BASE_PAR_DECL0)
  496. {
  497.   BASE_EXT_DECL
  498.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  499.   __asm __volatile ("jsr a6@(-0x2d6)"
  500.   : /* no output */
  501.   : "r" (a6)
  502.   : "a0","a1","d0","d1");
  503. }
  504. static __inline void 
  505. CopyMem (BASE_PAR_DECL APTR source,APTR dest,unsigned long size)
  506. {
  507.   BASE_EXT_DECL
  508.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  509.   register APTR a0 __asm("a0") = source;
  510.   register APTR a1 __asm("a1") = dest;
  511.   register unsigned long d0 __asm("d0") = size;
  512.   __asm __volatile ("jsr a6@(-0x270)"
  513.   : /* no output */
  514.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  515.   : "a0","a1","d0","d1");
  516.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  517. }
  518. static __inline void 
  519. CopyMemQuick (BASE_PAR_DECL APTR source,APTR dest,unsigned long size)
  520. {
  521.   BASE_EXT_DECL
  522.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  523.   register APTR a0 __asm("a0") = source;
  524.   register APTR a1 __asm("a1") = dest;
  525.   register unsigned long d0 __asm("d0") = size;
  526.   __asm __volatile ("jsr a6@(-0x276)"
  527.   : /* no output */
  528.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  529.   : "a0","a1","d0","d1");
  530.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  531. }
  532. static __inline APTR 
  533. CreateIORequest (BASE_PAR_DECL struct MsgPort *port,unsigned long size)
  534. {
  535.   BASE_EXT_DECL
  536.   register APTR  _res  __asm("d0");
  537.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  538.   register struct MsgPort *a0 __asm("a0") = port;
  539.   register unsigned long d0 __asm("d0") = size;
  540.   __asm __volatile ("jsr a6@(-0x28e)"
  541.   : "=r" (_res)
  542.   : "r" (a6), "r" (a0), "r" (d0)
  543.   : "a0","a1","d0","d1");
  544.   *(char *)a0 = *(char *)a0;
  545.   return _res;
  546. }
  547. static __inline struct MsgPort *
  548. CreateMsgPort (BASE_PAR_DECL0)
  549. {
  550.   BASE_EXT_DECL
  551.   register struct MsgPort * _res  __asm("d0");
  552.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  553.   __asm __volatile ("jsr a6@(-0x29a)"
  554.   : "=r" (_res)
  555.   : "r" (a6)
  556.   : "a0","a1","d0","d1");
  557.   return _res;
  558. }
  559. static __inline APTR 
  560. CreatePrivatePool (BASE_PAR_DECL unsigned long requirements,unsigned long puddleSize,unsigned long puddleThresh)
  561. {
  562.   BASE_EXT_DECL
  563.   register APTR  _res  __asm("d0");
  564.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  565.   register unsigned long d0 __asm("d0") = requirements;
  566.   register unsigned long d1 __asm("d1") = puddleSize;
  567.   register unsigned long d2 __asm("d2") = puddleThresh;
  568.   __asm __volatile ("jsr a6@(-0x2b8)"
  569.   : "=r" (_res)
  570.   : "r" (a6), "r" (d0), "r" (d1), "r" (d2)
  571.   : "a0","a1","d0","d1","d2");
  572.   return _res;
  573. }
  574. static __inline void 
  575. Deallocate (BASE_PAR_DECL struct MemHeader *freeList,APTR memoryBlock,unsigned long byteSize)
  576. {
  577.   BASE_EXT_DECL
  578.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  579.   register struct MemHeader *a0 __asm("a0") = freeList;
  580.   register APTR a1 __asm("a1") = memoryBlock;
  581.   register unsigned long d0 __asm("d0") = byteSize;
  582.   __asm __volatile ("jsr a6@(-0xc0)"
  583.   : /* no output */
  584.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  585.   : "a0","a1","d0","d1");
  586.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  587. }
  588. static __inline void 
  589. Debug (BASE_PAR_DECL unsigned long flags)
  590. {
  591.   BASE_EXT_DECL
  592.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  593.   register unsigned long d0 __asm("d0") = flags;
  594.   __asm __volatile ("jsr a6@(-0x72)"
  595.   : /* no output */
  596.   : "r" (a6), "r" (d0)
  597.   : "a0","a1","d0","d1");
  598. }
  599. static __inline void 
  600. DeleteIORequest (BASE_PAR_DECL APTR iorequest)
  601. {
  602.   BASE_EXT_DECL
  603.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  604.   register APTR a0 __asm("a0") = iorequest;
  605.   __asm __volatile ("jsr a6@(-0x294)"
  606.   : /* no output */
  607.   : "r" (a6), "r" (a0)
  608.   : "a0","a1","d0","d1");
  609.   *(char *)a0 = *(char *)a0;
  610. }
  611. static __inline void 
  612. DeleteMsgPort (BASE_PAR_DECL struct MsgPort *port)
  613. {
  614.   BASE_EXT_DECL
  615.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  616.   register struct MsgPort *a0 __asm("a0") = port;
  617.   __asm __volatile ("jsr a6@(-0x2a0)"
  618.   : /* no output */
  619.   : "r" (a6), "r" (a0)
  620.   : "a0","a1","d0","d1");
  621.   *(char *)a0 = *(char *)a0;
  622. }
  623. static __inline void 
  624. DeletePrivatePool (BASE_PAR_DECL APTR poolHeader)
  625. {
  626.   BASE_EXT_DECL
  627.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  628.   register APTR a0 __asm("a0") = poolHeader;
  629.   __asm __volatile ("jsr a6@(-0x2be)"
  630.   : /* no output */
  631.   : "r" (a6), "r" (a0)
  632.   : "a0","a1","d0","d1");
  633.   *(char *)a0 = *(char *)a0;
  634. }
  635. static __inline void 
  636. Disable (BASE_PAR_DECL0)
  637. {
  638.   BASE_EXT_DECL
  639.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  640.   __asm __volatile ("jsr a6@(-0x78)"
  641.   : /* no output */
  642.   : "r" (a6)
  643.   : "a0","a1","d0","d1");
  644. }
  645. static __inline BYTE 
  646. DoIO (BASE_PAR_DECL struct IORequest *ioRequest)
  647. {
  648.   BASE_EXT_DECL
  649.   register BYTE  _res  __asm("d0");
  650.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  651.   register struct IORequest *a1 __asm("a1") = ioRequest;
  652.   __asm __volatile ("jsr a6@(-0x1c8)"
  653.   : "=r" (_res)
  654.   : "r" (a6), "r" (a1)
  655.   : "a0","a1","d0","d1");
  656.   *(char *)a1 = *(char *)a1;
  657.   return _res;
  658. }
  659. static __inline void 
  660. Enable (BASE_PAR_DECL0)
  661. {
  662.   BASE_EXT_DECL
  663.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  664.   __asm __volatile ("jsr a6@(-0x7e)"
  665.   : /* no output */
  666.   : "r" (a6)
  667.   : "a0","a1","d0","d1");
  668. }
  669. static __inline void 
  670. Enqueue (BASE_PAR_DECL struct List *list,struct Node *node)
  671. {
  672.   BASE_EXT_DECL
  673.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  674.   register struct List *a0 __asm("a0") = list;
  675.   register struct Node *a1 __asm("a1") = node;
  676.   __asm __volatile ("jsr a6@(-0x10e)"
  677.   : /* no output */
  678.   : "r" (a6), "r" (a0), "r" (a1)
  679.   : "a0","a1","d0","d1");
  680.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  681. }
  682. static __inline struct Node *
  683. FindName (BASE_PAR_DECL struct List *list,UBYTE *name)
  684. {
  685.   BASE_EXT_DECL
  686.   register struct Node * _res  __asm("d0");
  687.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  688.   register struct List *a0 __asm("a0") = list;
  689.   register UBYTE *a1 __asm("a1") = name;
  690.   __asm __volatile ("jsr a6@(-0x114)"
  691.   : "=r" (_res)
  692.   : "r" (a6), "r" (a0), "r" (a1)
  693.   : "a0","a1","d0","d1");
  694.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  695.   return _res;
  696. }
  697. static __inline struct MsgPort *
  698. FindPort (BASE_PAR_DECL UBYTE *name)
  699. {
  700.   BASE_EXT_DECL
  701.   register struct MsgPort * _res  __asm("d0");
  702.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  703.   register UBYTE *a1 __asm("a1") = name;
  704.   __asm __volatile ("jsr a6@(-0x186)"
  705.   : "=r" (_res)
  706.   : "r" (a6), "r" (a1)
  707.   : "a0","a1","d0","d1");
  708.   *(char *)a1 = *(char *)a1;
  709.   return _res;
  710. }
  711. static __inline struct Resident *
  712. FindResident (BASE_PAR_DECL UBYTE *name)
  713. {
  714.   BASE_EXT_DECL
  715.   register struct Resident * _res  __asm("d0");
  716.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  717.   register UBYTE *a1 __asm("a1") = name;
  718.   __asm __volatile ("jsr a6@(-0x60)"
  719.   : "=r" (_res)
  720.   : "r" (a6), "r" (a1)
  721.   : "a0","a1","d0","d1");
  722.   *(char *)a1 = *(char *)a1;
  723.   return _res;
  724. }
  725. static __inline struct SignalSemaphore *
  726. FindSemaphore (BASE_PAR_DECL UBYTE *sigSem)
  727. {
  728.   BASE_EXT_DECL
  729.   register struct SignalSemaphore * _res  __asm("d0");
  730.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  731.   register UBYTE *a1 __asm("a1") = sigSem;
  732.   __asm __volatile ("jsr a6@(-0x252)"
  733.   : "=r" (_res)
  734.   : "r" (a6), "r" (a1)
  735.   : "a0","a1","d0","d1");
  736.   *(char *)a1 = *(char *)a1;
  737.   return _res;
  738. }
  739. static __inline struct Task *
  740. FindTask (BASE_PAR_DECL UBYTE *name)
  741. {
  742.   BASE_EXT_DECL
  743.   register struct Task * _res  __asm("d0");
  744.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  745.   register UBYTE *a1 __asm("a1") = name;
  746.   __asm __volatile ("jsr a6@(-0x126)"
  747.   : "=r" (_res)
  748.   : "r" (a6), "r" (a1)
  749.   : "a0","a1","d0","d1");
  750.   *(char *)a1 = *(char *)a1;
  751.   return _res;
  752. }
  753. static __inline void 
  754. Forbid (BASE_PAR_DECL0)
  755. {
  756.   BASE_EXT_DECL
  757.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  758.   __asm __volatile ("jsr a6@(-0x84)"
  759.   : /* no output */
  760.   : "r" (a6)
  761.   : "a0","a1","d0","d1");
  762. }
  763. static __inline void 
  764. FreeEntry (BASE_PAR_DECL struct MemList *entry)
  765. {
  766.   BASE_EXT_DECL
  767.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  768.   register struct MemList *a0 __asm("a0") = entry;
  769.   __asm __volatile ("jsr a6@(-0xe4)"
  770.   : /* no output */
  771.   : "r" (a6), "r" (a0)
  772.   : "a0","a1","d0","d1");
  773.   *(char *)a0 = *(char *)a0;
  774. }
  775. static __inline void 
  776. FreeMem (BASE_PAR_DECL APTR memoryBlock,unsigned long byteSize)
  777. {
  778.   BASE_EXT_DECL
  779.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  780.   register APTR a1 __asm("a1") = memoryBlock;
  781.   register unsigned long d0 __asm("d0") = byteSize;
  782.   __asm __volatile ("jsr a6@(-0xd2)"
  783.   : /* no output */
  784.   : "r" (a6), "r" (a1), "r" (d0)
  785.   : "a0","a1","d0","d1");
  786.   *(char *)a1 = *(char *)a1;
  787. }
  788. static __inline void 
  789. FreePooled (BASE_PAR_DECL APTR memory,APTR poolHeader)
  790. {
  791.   BASE_EXT_DECL
  792.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  793.   register APTR a1 __asm("a1") = memory;
  794.   register APTR a0 __asm("a0") = poolHeader;
  795.   __asm __volatile ("jsr a6@(-0x2ca)"
  796.   : /* no output */
  797.   : "r" (a6), "r" (a1), "r" (a0)
  798.   : "a0","a1","d0","d1");
  799.   *(char *)a1 = *(char *)a1;  *(char *)a0 = *(char *)a0;
  800. }
  801. static __inline void 
  802. FreeSignal (BASE_PAR_DECL long signalNum)
  803. {
  804.   BASE_EXT_DECL
  805.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  806.   register long d0 __asm("d0") = signalNum;
  807.   __asm __volatile ("jsr a6@(-0x150)"
  808.   : /* no output */
  809.   : "r" (a6), "r" (d0)
  810.   : "a0","a1","d0","d1");
  811. }
  812. static __inline void 
  813. FreeTrap (BASE_PAR_DECL long trapNum)
  814. {
  815.   BASE_EXT_DECL
  816.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  817.   register long d0 __asm("d0") = trapNum;
  818.   __asm __volatile ("jsr a6@(-0x15c)"
  819.   : /* no output */
  820.   : "r" (a6), "r" (d0)
  821.   : "a0","a1","d0","d1");
  822. }
  823. static __inline void 
  824. FreeVec (BASE_PAR_DECL APTR memoryBlock)
  825. {
  826.   BASE_EXT_DECL
  827.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  828.   register APTR a1 __asm("a1") = memoryBlock;
  829.   __asm __volatile ("jsr a6@(-0x2b2)"
  830.   : /* no output */
  831.   : "r" (a6), "r" (a1)
  832.   : "a0","a1","d0","d1");
  833.   *(char *)a1 = *(char *)a1;
  834. }
  835. static __inline ULONG 
  836. GetCC (BASE_PAR_DECL0)
  837. {
  838.   BASE_EXT_DECL
  839.   register ULONG  _res  __asm("d0");
  840.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  841.   __asm __volatile ("jsr a6@(-0x210)"
  842.   : "=r" (_res)
  843.   : "r" (a6)
  844.   : "a0","a1","d0","d1");
  845.   return _res;
  846. }
  847. static __inline struct Message *
  848. GetMsg (BASE_PAR_DECL struct MsgPort *port)
  849. {
  850.   BASE_EXT_DECL
  851.   register struct Message * _res  __asm("d0");
  852.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  853.   register struct MsgPort *a0 __asm("a0") = port;
  854.   __asm __volatile ("jsr a6@(-0x174)"
  855.   : "=r" (_res)
  856.   : "r" (a6), "r" (a0)
  857.   : "a0","a1","d0","d1");
  858.   *(char *)a0 = *(char *)a0;
  859.   return _res;
  860. }
  861. static __inline void 
  862. InitCode (BASE_PAR_DECL unsigned long startClass,unsigned long version)
  863. {
  864.   BASE_EXT_DECL
  865.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  866.   register unsigned long d0 __asm("d0") = startClass;
  867.   register unsigned long d1 __asm("d1") = version;
  868.   __asm __volatile ("jsr a6@(-0x48)"
  869.   : /* no output */
  870.   : "r" (a6), "r" (d0), "r" (d1)
  871.   : "a0","a1","d0","d1");
  872. }
  873. static __inline APTR 
  874. InitResident (BASE_PAR_DECL struct Resident *resident,unsigned long segList)
  875. {
  876.   BASE_EXT_DECL
  877.   register APTR  _res  __asm("d0");
  878.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  879.   register struct Resident *a1 __asm("a1") = resident;
  880.   register unsigned long d1 __asm("d1") = segList;
  881.   __asm __volatile ("jsr a6@(-0x66)"
  882.   : "=r" (_res)
  883.   : "r" (a6), "r" (a1), "r" (d1)
  884.   : "a0","a1","d0","d1");
  885.   *(char *)a1 = *(char *)a1;
  886.   return _res;
  887. }
  888. static __inline void 
  889. InitSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  890. {
  891.   BASE_EXT_DECL
  892.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  893.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  894.   __asm __volatile ("jsr a6@(-0x22e)"
  895.   : /* no output */
  896.   : "r" (a6), "r" (a0)
  897.   : "a0","a1","d0","d1");
  898.   *(char *)a0 = *(char *)a0;
  899. }
  900. static __inline void 
  901. InitStruct (BASE_PAR_DECL APTR initTable,APTR memory,unsigned long size)
  902. {
  903.   BASE_EXT_DECL
  904.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  905.   register APTR a1 __asm("a1") = initTable;
  906.   register APTR a2 __asm("a2") = memory;
  907.   register unsigned long d0 __asm("d0") = size;
  908.   __asm __volatile ("jsr a6@(-0x4e)"
  909.   : /* no output */
  910.   : "r" (a6), "r" (a1), "r" (a2), "r" (d0)
  911.   : "a0","a1","a2","d0","d1");
  912.   *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;
  913. }
  914. static __inline void 
  915. Insert (BASE_PAR_DECL struct List *list,struct Node *node,struct Node *pred)
  916. {
  917.   BASE_EXT_DECL
  918.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  919.   register struct List *a0 __asm("a0") = list;
  920.   register struct Node *a1 __asm("a1") = node;
  921.   register struct Node *a2 __asm("a2") = pred;
  922.   __asm __volatile ("jsr a6@(-0xea)"
  923.   : /* no output */
  924.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  925.   : "a0","a1","a2","d0","d1");
  926.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;
  927. }
  928. static __inline void 
  929. MakeFunctions (BASE_PAR_DECL APTR target,APTR functionArray,unsigned long funcDispBase)
  930. {
  931.   BASE_EXT_DECL
  932.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  933.   register APTR a0 __asm("a0") = target;
  934.   register APTR a1 __asm("a1") = functionArray;
  935.   register unsigned long a2 __asm("a2") = funcDispBase;
  936.   __asm __volatile ("jsr a6@(-0x5a)"
  937.   : /* no output */
  938.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  939.   : "a0","a1","a2","d0","d1");
  940.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;
  941. }
  942. static __inline struct Library *
  943. MakeLibrary (BASE_PAR_DECL APTR funcInit,APTR structInit,unsigned long (*libInit)(),unsigned long dataSize,unsigned long segList)
  944. {
  945.   BASE_EXT_DECL
  946.   register struct Library * _res  __asm("d0");
  947.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  948.   register APTR a0 __asm("a0") = funcInit;
  949.   register APTR a1 __asm("a1") = structInit;
  950.   register unsigned long (*a2)() __asm("a2") = libInit;
  951.   register unsigned long d0 __asm("d0") = dataSize;
  952.   register unsigned long d1 __asm("d1") = segList;
  953.   __asm __volatile ("jsr a6@(-0x54)"
  954.   : "=r" (_res)
  955.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (d0), "r" (d1)
  956.   : "a0","a1","a2","d0","d1");
  957.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;
  958.   return _res;
  959. }
  960. static __inline void 
  961. ObtainSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  962. {
  963.   BASE_EXT_DECL
  964.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  965.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  966.   __asm __volatile ("jsr a6@(-0x234)"
  967.   : /* no output */
  968.   : "r" (a6), "r" (a0)
  969.   : "a0","a1","d0","d1");
  970.   *(char *)a0 = *(char *)a0;
  971. }
  972. static __inline void 
  973. ObtainSemaphoreList (BASE_PAR_DECL struct List *sigSem)
  974. {
  975.   BASE_EXT_DECL
  976.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  977.   register struct List *a0 __asm("a0") = sigSem;
  978.   __asm __volatile ("jsr a6@(-0x246)"
  979.   : /* no output */
  980.   : "r" (a6), "r" (a0)
  981.   : "a0","a1","d0","d1");
  982.   *(char *)a0 = *(char *)a0;
  983. }
  984. static __inline void 
  985. ObtainSemaphoreShared (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  986. {
  987.   BASE_EXT_DECL
  988.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  989.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  990.   __asm __volatile ("jsr a6@(-0x2a6)"
  991.   : /* no output */
  992.   : "r" (a6), "r" (a0)
  993.   : "a0","a1","d0","d1");
  994.   *(char *)a0 = *(char *)a0;
  995. }
  996. static __inline struct Library *
  997. OldOpenLibrary (BASE_PAR_DECL UBYTE *libName)
  998. {
  999.   BASE_EXT_DECL
  1000.   register struct Library * _res  __asm("d0");
  1001.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1002.   register UBYTE *a1 __asm("a1") = libName;
  1003.   __asm __volatile ("jsr a6@(-0x198)"
  1004.   : "=r" (_res)
  1005.   : "r" (a6), "r" (a1)
  1006.   : "a0","a1","d0","d1");
  1007.   *(char *)a1 = *(char *)a1;
  1008.   return _res;
  1009. }
  1010. static __inline BYTE 
  1011. OpenDevice (BASE_PAR_DECL UBYTE *devName,unsigned long unit,struct IORequest *ioRequest,unsigned long flags)
  1012. {
  1013.   BASE_EXT_DECL
  1014.   register BYTE  _res  __asm("d0");
  1015.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1016.   register UBYTE *a0 __asm("a0") = devName;
  1017.   register unsigned long d0 __asm("d0") = unit;
  1018.   register struct IORequest *a1 __asm("a1") = ioRequest;
  1019.   register unsigned long d1 __asm("d1") = flags;
  1020.   __asm __volatile ("jsr a6@(-0x1bc)"
  1021.   : "=r" (_res)
  1022.   : "r" (a6), "r" (a0), "r" (d0), "r" (a1), "r" (d1)
  1023.   : "a0","a1","d0","d1");
  1024.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  1025.   return _res;
  1026. }
  1027. static __inline struct Library *
  1028. OpenLibrary (BASE_PAR_DECL UBYTE *libName,unsigned long version)
  1029. {
  1030.   BASE_EXT_DECL
  1031.   register struct Library * _res  __asm("d0");
  1032.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1033.   register UBYTE *a1 __asm("a1") = libName;
  1034.   register unsigned long d0 __asm("d0") = version;
  1035.   __asm __volatile ("jsr a6@(-0x228)"
  1036.   : "=r" (_res)
  1037.   : "r" (a6), "r" (a1), "r" (d0)
  1038.   : "a0","a1","d0","d1");
  1039.   *(char *)a1 = *(char *)a1;
  1040.   return _res;
  1041. }
  1042. static __inline APTR 
  1043. OpenResource (BASE_PAR_DECL UBYTE *resName)
  1044. {
  1045.   BASE_EXT_DECL
  1046.   register APTR  _res  __asm("d0");
  1047.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1048.   register UBYTE *a1 __asm("a1") = resName;
  1049.   __asm __volatile ("jsr a6@(-0x1f2)"
  1050.   : "=r" (_res)
  1051.   : "r" (a6), "r" (a1)
  1052.   : "a0","a1","d0","d1");
  1053.   *(char *)a1 = *(char *)a1;
  1054.   return _res;
  1055. }
  1056. static __inline void 
  1057. Permit (BASE_PAR_DECL0)
  1058. {
  1059.   BASE_EXT_DECL
  1060.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1061.   __asm __volatile ("jsr a6@(-0x8a)"
  1062.   : /* no output */
  1063.   : "r" (a6)
  1064.   : "a0","a1","d0","d1");
  1065. }
  1066. static __inline ULONG 
  1067. Procure (BASE_PAR_DECL struct Semaphore *semaport,struct Message *bidMsg)
  1068. {
  1069.   BASE_EXT_DECL
  1070.   register ULONG  _res  __asm("d0");
  1071.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1072.   register struct Semaphore *a0 __asm("a0") = semaport;
  1073.   register struct Message *a1 __asm("a1") = bidMsg;
  1074.   __asm __volatile ("jsr a6@(-0x21c)"
  1075.   : "=r" (_res)
  1076.   : "r" (a6), "r" (a0), "r" (a1)
  1077.   : "a0","a1","d0","d1");
  1078.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  1079.   return _res;
  1080. }
  1081. static __inline void 
  1082. PutMsg (BASE_PAR_DECL struct MsgPort *port,struct Message *message)
  1083. {
  1084.   BASE_EXT_DECL
  1085.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1086.   register struct MsgPort *a0 __asm("a0") = port;
  1087.   register struct Message *a1 __asm("a1") = message;
  1088.   __asm __volatile ("jsr a6@(-0x16e)"
  1089.   : /* no output */
  1090.   : "r" (a6), "r" (a0), "r" (a1)
  1091.   : "a0","a1","d0","d1");
  1092.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  1093. }
  1094. static __inline void 
  1095. RawDoFmt (BASE_PAR_DECL UBYTE *formatString,APTR dataStream,void (*putChProc)(),APTR putChData)
  1096. {
  1097.   BASE_EXT_DECL
  1098.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1099.   register UBYTE *a0 __asm("a0") = formatString;
  1100.   register APTR a1 __asm("a1") = dataStream;
  1101.   register void (*a2)() __asm("a2") = putChProc;
  1102.   register APTR a3 __asm("a3") = putChData;
  1103.   __asm __volatile ("jsr a6@(-0x20a)"
  1104.   : /* no output */
  1105.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3)
  1106.   : "a0","a1","a2","a3","d0","d1");
  1107.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;  *(char *)a3 = *(char *)a3;
  1108. }
  1109. static __inline void 
  1110. ReleaseSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  1111. {
  1112.   BASE_EXT_DECL
  1113.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1114.   register struct SignalSemaphore *a0 __asm("a0") = sigSem;
  1115.   __asm __volatile ("jsr a6@(-0x23a)"
  1116.   : /* no output */
  1117.   : "r" (a6), "r" (a0)
  1118.   : "a0","a1","d0","d1");
  1119.   *(char *)a0 = *(char *)a0;
  1120. }
  1121. static __inline void 
  1122. ReleaseSemaphoreList (BASE_PAR_DECL struct List *sigSem)
  1123. {
  1124.   BASE_EXT_DECL
  1125.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1126.   register struct List *a0 __asm("a0") = sigSem;
  1127.   __asm __volatile ("jsr a6@(-0x24c)"
  1128.   : /* no output */
  1129.   : "r" (a6), "r" (a0)
  1130.   : "a0","a1","d0","d1");
  1131.   *(char *)a0 = *(char *)a0;
  1132. }
  1133. static __inline void 
  1134. RemDevice (BASE_PAR_DECL struct Device *device)
  1135. {
  1136.   BASE_EXT_DECL
  1137.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1138.   register struct Device *a1 __asm("a1") = device;
  1139.   __asm __volatile ("jsr a6@(-0x1b6)"
  1140.   : /* no output */
  1141.   : "r" (a6), "r" (a1)
  1142.   : "a0","a1","d0","d1");
  1143.   *(char *)a1 = *(char *)a1;
  1144. }
  1145. static __inline struct Node *
  1146. RemHead (BASE_PAR_DECL struct List *list)
  1147. {
  1148.   BASE_EXT_DECL
  1149.   register struct Node * _res  __asm("d0");
  1150.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1151.   register struct List *a0 __asm("a0") = list;
  1152.   __asm __volatile ("jsr a6@(-0x102)"
  1153.   : "=r" (_res)
  1154.   : "r" (a6), "r" (a0)
  1155.   : "a0","a1","d0","d1");
  1156.   *(char *)a0 = *(char *)a0;
  1157.   return _res;
  1158. }
  1159. static __inline void 
  1160. RemIntServer (BASE_PAR_DECL long intNumber,struct Interrupt *interrupt)
  1161. {
  1162.   BASE_EXT_DECL
  1163.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1164.   register long d0 __asm("d0") = intNumber;
  1165.   register struct Interrupt *a1 __asm("a1") = interrupt;
  1166.   __asm __volatile ("jsr a6@(-0xae)"
  1167.   : /* no output */
  1168.   : "r" (a6), "r" (d0), "r" (a1)
  1169.   : "a0","a1","d0","d1");
  1170.   *(char *)a1 = *(char *)a1;
  1171. }
  1172. static __inline void 
  1173. RemLibrary (BASE_PAR_DECL struct Library *library)
  1174. {
  1175.   BASE_EXT_DECL
  1176.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1177.   register struct Library *a1 __asm("a1") = library;
  1178.   __asm __volatile ("jsr a6@(-0x192)"
  1179.   : /* no output */
  1180.   : "r" (a6), "r" (a1)
  1181.   : "a0","a1","d0","d1");
  1182.   *(char *)a1 = *(char *)a1;
  1183. }
  1184. static __inline void 
  1185. RemPort (BASE_PAR_DECL struct MsgPort *port)
  1186. {
  1187.   BASE_EXT_DECL
  1188.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1189.   register struct MsgPort *a1 __asm("a1") = port;
  1190.   __asm __volatile ("jsr a6@(-0x168)"
  1191.   : /* no output */
  1192.   : "r" (a6), "r" (a1)
  1193.   : "a0","a1","d0","d1");
  1194.   *(char *)a1 = *(char *)a1;
  1195. }
  1196. static __inline void 
  1197. RemResource (BASE_PAR_DECL APTR resource)
  1198. {
  1199.   BASE_EXT_DECL
  1200.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1201.   register APTR a1 __asm("a1") = resource;
  1202.   __asm __volatile ("jsr a6@(-0x1ec)"
  1203.   : /* no output */
  1204.   : "r" (a6), "r" (a1)
  1205.   : "a0","a1","d0","d1");
  1206.   *(char *)a1 = *(char *)a1;
  1207. }
  1208. static __inline void 
  1209. RemSemaphore (BASE_PAR_DECL struct SignalSemaphore *sigSem)
  1210. {
  1211.   BASE_EXT_DECL
  1212.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1213.   register struct SignalSemaphore *a1 __asm("a1") = sigSem;
  1214.   __asm __volatile ("jsr a6@(-0x25e)"
  1215.   : /* no output */
  1216.   : "r" (a6), "r" (a1)
  1217.   : "a0","a1","d0","d1");
  1218.   *(char *)a1 = *(char *)a1;
  1219. }
  1220. static __inline struct Node *
  1221. RemTail (BASE_PAR_DECL struct List *list)
  1222. {
  1223.   BASE_EXT_DECL
  1224.   register struct Node * _res  __asm("d0");
  1225.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1226.   register struct List *a0 __asm("a0") = list;
  1227.   __asm __volatile ("jsr a6@(-0x108)"
  1228.   : "=r" (_res)
  1229.   : "r" (a6), "r" (a0)
  1230.   : "a0","a1","d0","d1");
  1231.   *(char *)a0 = *(char *)a0;
  1232.   return _res;
  1233. }
  1234. static __inline void 
  1235. RemTask (BASE_PAR_DECL struct Task *task)
  1236. {
  1237.   BASE_EXT_DECL
  1238.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1239.   register struct Task *a1 __asm("a1") = task;
  1240.   __asm __volatile ("jsr a6@(-0x120)"
  1241.   : /* no output */
  1242.   : "r" (a6), "r" (a1)
  1243.   : "a0","a1","d0","d1");
  1244.   *(char *)a1 = *(char *)a1;
  1245. }
  1246. static __inline void 
  1247. Remove (BASE_PAR_DECL struct Node *node)
  1248. {
  1249.   BASE_EXT_DECL
  1250.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1251.   register struct Node *a1 __asm("a1") = node;
  1252.   __asm __volatile ("jsr a6@(-0xfc)"
  1253.   : /* no output */
  1254.   : "r" (a6), "r" (a1)
  1255.   : "a0","a1","d0","d1");
  1256.   *(char *)a1 = *(char *)a1;
  1257. }
  1258. static __inline void 
  1259. ReplyMsg (BASE_PAR_DECL struct Message *message)
  1260. {
  1261.   BASE_EXT_DECL
  1262.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1263.   register struct Message *a1 __asm("a1") = message;
  1264.   __asm __volatile ("jsr a6@(-0x17a)"
  1265.   : /* no output */
  1266.   : "r" (a6), "r" (a1)
  1267.   : "a0","a1","d0","d1");
  1268.   *(char *)a1 = *(char *)a1;
  1269. }
  1270. static __inline void 
  1271. SendIO (BASE_PAR_DECL struct IORequest *ioRequest)
  1272. {
  1273.   BASE_EXT_DECL
  1274.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1275.   register struct IORequest *a1 __asm("a1") = ioRequest;
  1276.   __asm __volatile ("jsr a6@(-0x1ce)"
  1277.   : /* no output */
  1278.   : "r" (a6), "r" (a1)
  1279.   : "a0","a1","d0","d1");
  1280.   *(char *)a1 = *(char *)a1;
  1281. }
  1282. static __inline ULONG 
  1283. SetExcept (BASE_PAR_DECL unsigned long newSignals,unsigned long signalSet)
  1284. {
  1285.   BASE_EXT_DECL
  1286.   register ULONG  _res  __asm("d0");
  1287.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1288.   register unsigned long d0 __asm("d0") = newSignals;
  1289.   register unsigned long d1 __asm("d1") = signalSet;
  1290.   __asm __volatile ("jsr a6@(-0x138)"
  1291.   : "=r" (_res)
  1292.   : "r" (a6), "r" (d0), "r" (d1)
  1293.   : "a0","a1","d0","d1");
  1294.   return _res;
  1295. }
  1296. static __inline APTR 
  1297. SetFunction (BASE_PAR_DECL struct Library *library,long funcOffset,unsigned long (*newFunction)())
  1298. {
  1299.   BASE_EXT_DECL
  1300.   register APTR  _res  __asm("d0");
  1301.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1302.   register struct Library *a1 __asm("a1") = library;
  1303.   register long a0 __asm("a0") = funcOffset;
  1304.   register unsigned long (*d0)() __asm("d0") = newFunction;
  1305.   __asm __volatile ("jsr a6@(-0x1a4)"
  1306.   : "=r" (_res)
  1307.   : "r" (a6), "r" (a1), "r" (a0), "r" (d0)
  1308.   : "a0","a1","d0","d1");
  1309.   *(char *)a1 = *(char *)a1;  *(char *)a0 = *(char *)a0;
  1310.   return _res;
  1311. }
  1312. static __inline struct Interrupt *
  1313. SetIntVector (BASE_PAR_DECL long intNumber,struct Interrupt *interrupt)
  1314. {
  1315.   BASE_EXT_DECL
  1316.   register struct Interrupt * _res  __asm("d0");
  1317.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1318.   register long d0 __asm("d0") = intNumber;
  1319.   register struct Interrupt *a1 __asm("a1") = interrupt;
  1320.   __asm __volatile ("jsr a6@(-0xa2)"
  1321.   : "=r" (_res)
  1322.   : "r" (a6), "r" (d0), "r" (a1)
  1323.   : "a0","a1","d0","d1");
  1324.   *(char *)a1 = *(char *)a1;
  1325.   return _res;
  1326. }
  1327. static __inline ULONG 
  1328. SetSR (BASE_PAR_DECL unsigned long newSR,unsigned long mask)
  1329. {
  1330.   BASE_EXT_DECL
  1331.   register ULONG  _res  __asm("d0");
  1332.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1333.   register unsigned long d0 __asm("d0") = newSR;
  1334.   register unsigned long d1 __asm("d1") = mask;
  1335.   __asm __volatile ("jsr a6@(-0x90)"
  1336.   : "=r" (_res)
  1337.   : "r" (a6), "r" (d0), "r" (d1)
  1338.   : "a0","a1","d0","d1");
  1339.   return _res;
  1340. }
  1341. static __inline ULONG 
  1342. SetSignal (BASE_PAR_DECL unsigned long newSignals,unsigned long signalSet)
  1343. {
  1344.   BASE_EXT_DECL
  1345.   register ULONG  _res  __asm("d0");
  1346.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1347.   register unsigned long d0 __asm("d0") = newSignals;
  1348.   register unsigned long d1 __asm("d1") = signalSet;
  1349.   __asm __volatile ("jsr a6@(-0x132)"
  1350.   : "=r" (_res)
  1351.   : "r" (a6), "r" (d0), "r" (d1)
  1352.   : "a0","a1","d0","d1");
  1353.   return _res;
  1354. }
  1355. static __inline BYTE 
  1356. SetTaskPri (BASE_PAR_DECL struct Task *task,long priority)
  1357. {
  1358.   BASE_EXT_DECL
  1359.   register BYTE  _res  __asm("d0");
  1360.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1361.   register struct Task *a1 __asm("a1") = task;
  1362.   register long d0 __asm("d0") = priority;
  1363.   __asm __volatile ("jsr a6@(-0x12c)"
  1364.   : "=r" (_res)
  1365.   : "r" (a6), "r" (a1), "r" (d0)
  1366.   : "a0","a1","d0","d1");
  1367.   *(char *)a1 = *(char *)a1;
  1368.   return _res;
  1369. }
  1370. static __inline void 
  1371. Signal (BASE_PAR_DECL struct Task *task,unsigned long signalSet)
  1372. {
  1373.   BASE_EXT_DECL
  1374.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1375.   register struct Task *a1 __asm("a1") = task;
  1376.   register unsigned long d0 __asm("d0") = signalSet;
  1377.   __asm __volatile ("jsr a6@(-0x144)"
  1378.   : /* no output */
  1379.   : "r" (a6), "r" (a1), "r" (d0)
  1380.   : "a0","a1","d0","d1");
  1381.   *(char *)a1 = *(char *)a1;
  1382. }
  1383. static __inline void 
  1384. StackSwap (BASE_PAR_DECL APTR newSize,APTR newSP,APTR newStack)
  1385. {
  1386.   BASE_EXT_DECL
  1387.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1388.   register APTR d0 __asm("d0") = newSize;
  1389.   register APTR d1 __asm("d1") = newSP;
  1390.   register APTR a0 __asm("a0") = newStack;
  1391.   __asm __volatile ("jsr a6@(-0x2dc)"
  1392.   : /* no output */
  1393.   : "r" (a6), "r" (d0), "r" (d1), "r" (a0)
  1394.   : "a0","a1","d0","d1");
  1395.   *(char *)a0 = *(char *)a0;
  1396. }
  1397. static __inline ULONG 
  1398. SumKickData (BASE_PAR_DECL0)
  1399. {
  1400.   BASE_EXT_DECL
  1401.   register ULONG  _res  __asm("d0");
  1402.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1403.   __asm __volatile ("jsr a6@(-0x264)"
  1404.   : "=r" (_res)
  1405.   : "r" (a6)
  1406.   : "a0","a1","d0","d1");
  1407.   return _res;
  1408. }
  1409. static __inline void 
  1410. SumLibrary (BASE_PAR_DECL struct Library *library)
  1411. {
  1412.   BASE_EXT_DECL
  1413.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1414.   register struct Library *a1 __asm("a1") = library;
  1415.   __asm __volatile ("jsr a6@(-0x1aa)"
  1416.   : /* no output */
  1417.   : "r" (a6), "r" (a1)
  1418.   : "a0","a1","d0","d1");
  1419.   *(char *)a1 = *(char *)a1;
  1420. }
  1421. static __inline APTR 
  1422. SuperState (BASE_PAR_DECL0)
  1423. {
  1424.   BASE_EXT_DECL
  1425.   register APTR  _res  __asm("d0");
  1426.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1427.   __asm __volatile ("jsr a6@(-0x96)"
  1428.   : "=r" (_res)
  1429.   : "r" (a6)
  1430.   : "a0","a1","d0","d1");
  1431.   return _res;
  1432. }
  1433. static __inline ULONG 
  1434. Supervisor (BASE_PAR_DECL unsigned long (*userFunction)())
  1435. {
  1436.   BASE_EXT_DECL
  1437.   register ULONG  _res  __asm("d0");
  1438.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1439.   register unsigned long (*a5)() __asm("a3") = userFunction;
  1440.   __asm __volatile ("movel a5,sp@-; movel a3,a5; jsr a6@(-0x24); movel sp@+,a5"
  1441.   : "=r" (_res)
  1442.   : "r" (a6), "r" (a5)
  1443.   : "a0","a1","a3","d0","d1");
  1444.   *(char *)a5 = *(char *)a5;
  1445.   return _res;
  1446. }
  1447. static __inline ULONG 
  1448. TypeOfMem (BASE_PAR_DECL APTR address)
  1449. {
  1450.   BASE_EXT_DECL
  1451.   register ULONG  _res  __asm("d0");
  1452.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1453.   register APTR a1 __asm("a1") = address;
  1454.   __asm __volatile ("jsr a6@(-0x216)"
  1455.   : "=r" (_res)
  1456.   : "r" (a6), "r" (a1)
  1457.   : "a0","a1","d0","d1");
  1458.   *(char *)a1 = *(char *)a1;
  1459.   return _res;
  1460. }
  1461. static __inline void 
  1462. UserState (BASE_PAR_DECL APTR sysStack)
  1463. {
  1464.   BASE_EXT_DECL
  1465.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1466.   register APTR d0 __asm("d0") = sysStack;
  1467.   __asm __volatile ("jsr a6@(-0x9c)"
  1468.   : /* no output */
  1469.   : "r" (a6), "r" (d0)
  1470.   : "a0","a1","d0","d1");
  1471. }
  1472. static __inline void 
  1473. Vacate (BASE_PAR_DECL struct Semaphore *semaport)
  1474. {
  1475.   BASE_EXT_DECL
  1476.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1477.   register struct Semaphore *a0 __asm("a0") = semaport;
  1478.   __asm __volatile ("jsr a6@(-0x222)"
  1479.   : /* no output */
  1480.   : "r" (a6), "r" (a0)
  1481.   : "a0","a1","d0","d1");
  1482.   *(char *)a0 = *(char *)a0;
  1483. }
  1484. static __inline ULONG 
  1485. Wait (BASE_PAR_DECL unsigned long signalSet)
  1486. {
  1487.   BASE_EXT_DECL
  1488.   register ULONG  _res  __asm("d0");
  1489.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1490.   register unsigned long d0 __asm("d0") = signalSet;
  1491.   __asm __volatile ("jsr a6@(-0x13e)"
  1492.   : "=r" (_res)
  1493.   : "r" (a6), "r" (d0)
  1494.   : "a0","a1","d0","d1");
  1495.   return _res;
  1496. }
  1497. static __inline BYTE 
  1498. WaitIO (BASE_PAR_DECL struct IORequest *ioRequest)
  1499. {
  1500.   BASE_EXT_DECL
  1501.   register BYTE  _res  __asm("d0");
  1502.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1503.   register struct IORequest *a1 __asm("a1") = ioRequest;
  1504.   __asm __volatile ("jsr a6@(-0x1da)"
  1505.   : "=r" (_res)
  1506.   : "r" (a6), "r" (a1)
  1507.   : "a0","a1","d0","d1");
  1508.   *(char *)a1 = *(char *)a1;
  1509.   return _res;
  1510. }
  1511. static __inline struct Message *
  1512. WaitPort (BASE_PAR_DECL struct MsgPort *port)
  1513. {
  1514.   BASE_EXT_DECL
  1515.   register struct Message * _res  __asm("d0");
  1516.   register struct ExecBase *a6 __asm("a6") = BASE_NAME;
  1517.   register struct MsgPort *a0 __asm("a0") = port;
  1518.   __asm __volatile ("jsr a6@(-0x180)"
  1519.   : "=r" (_res)
  1520.   : "r" (a6), "r" (a0)
  1521.   : "a0","a1","d0","d1");
  1522.   *(char *)a0 = *(char *)a0;
  1523.   return _res;
  1524. }
  1525. #undef BASE_EXT_DECL
  1526. #undef BASE_PAR_DECL
  1527. #undef BASE_PAR_DECL0
  1528. #undef BASE_NAME
  1529.  
  1530. __END_DECLS
  1531.  
  1532. #endif /* _INLINE_EXEC_H */
  1533.